home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 2
/
Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso
/
Pearls
/
dev
/
GUI
/
BGUI
/
demos
/
font.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-08-03
|
10KB
|
225 lines
;/* Execute me to compile with DICE V3.0
dcc font.c -proto -mi -ms -mRR -lbgui
quit
*/
/*
** $RCSfile: font.c,v $
** Description: Simple demonstration to show how to
** create the standard system/gadtools/topaz 8 look
** (if you really want to :))
** Copyright: (C) Copyright 1994 Jaba Development.
** (C) Copyright 1994 Jan van den Baard.
** All Rights Reserved.
**
** $Author: jaba $
** $Revision: 1.3 $
** $Date: 1994/08/03 11:35:21 $
**/
#include <libraries/bgui.h>
#include <libraries/bgui_macros.h>
#include <libraries/gadtools.h>
#include <clib/alib_protos.h>
#include <proto/exec.h>
#include <proto/bgui.h>
#include <proto/intuition.h>
#include <stdio.h>
#include <stdlib.h>
/*
** Library base pointer.
** NOTE: The intuition.library is opened by DICE
** it's auto-init code.
**/
struct Library *BGUIBase;
/*
** Object ID.
**/
#define ID_QUIT 1
#define ID_ABOUT 2
/*
** Topaz :(
**/
struct TextAttr Topaz = {
( STRPTR )"topaz.font", TOPAZ_EIGHTY, FS_NORMAL, FPF_ROMFONT
};
/*
** Simple menu-strip.
**/
struct NewMenu MenuStrip[] = {
Title( "Project" ),
Item( "Open...", "O", NULL ),
Item( "Save As...", "A", NULL ),
ItemBar,
Item( "About...", "?", ID_ABOUT ),
ItemBar,
Item( "Quit", "Q", ID_QUIT ),
Title( "Edit" ),
Item( "Reset To Defaults", "D", NULL ),
Item( "Last Saved", "L", NULL ),
Item( "Restore", "R", NULL ),
Title( "Settings" ),
NM_ITEM, "Create Icons?", "I", CHECKIT, 0, NULL,
End
};
/*
** Put up a requester.
**/
ULONG Req( struct Window *win, UBYTE *gadgets, UBYTE *body, ... )
{
struct bguiRequest req = { NULL };
req.br_GadgetFormat = gadgets;
req.br_TextFormat = body;
req.br_Flags = BREQF_CENTERWINDOW|BREQF_LOCKWINDOW;
return( BGUI_RequestA( win, &req, ( ULONG * )(( ULONG * )&body+1 )));
}
int main( int argc, char *argv[] )
{
struct Window *win;
Object *WO_Window;
ULONG signal = 0, rc, tmp = 0;
BOOL running = TRUE;
/*
** Open the library.
**/
if ( BGUIBase = OpenLibrary( BGUINAME, BGUIVERSION )) {
/*
** Create the window object.
**/
WO_Window = WindowObject,
WINDOW_Title, "Font Preferences",
WINDOW_MenuStrip, MenuStrip,
WINDOW_SizeGadget, FALSE,
WINDOW_CloseGadget, FALSE,
WINDOW_ScaleWidth, 20,
WINDOW_Font, &Topaz,
WINDOW_MasterGroup,
VGroupObject, HOffset( 4 ), VOffset( 4 ), Spacing( 4 ),
StartMember,
InfoObject,
INFO_TextFormat, ISEQ_C "Selected Fonts",
INFO_HorizOffset, 0,
INFO_VertOffset, 0,
EndObject,
EndMember,
StartMember,
HGroupObject, Spacing( 4 ), ButtonFrame, FRM_Flags, FRF_RECESSED,
StartMember,
InfoObject,
INFO_TextFormat, ISEQ_R "Workbench Icon Text:\n"
"System Default Text:\n"
"Screen Text:",
INFO_FixTextWidth, TRUE,
INFO_MinLines, 3,
EndObject,
EndMember,
StartMember,
InfoObject,
INFO_TextFormat, "topaz 8\n"
"topaz 8\n"
"topaz 8",
INFO_FixTextWidth, TRUE,
INFO_MinLines, 3,
INFO_HorizOffset, 0,
EndObject,
EndMember,
EndObject,
EndMember,
StartMember,
Button( "Select Workbench Icon Text...", 0 ),
EndMember,
StartMember,
Button( "Select System Default Text...", 0 ),
EndMember,
StartMember,
Button( "Select Screen Text...", 0 ),
EndMember,
StartMember,
HGroupObject,
StartMember, Button( "Save", ID_QUIT ), EndMember,
VarSpace( DEFAULT_WEIGHT ),
StartMember, Button( "Use", ID_QUIT ), EndMember,
VarSpace( DEFAULT_WEIGHT ),
StartMember, Button( "Cancel", ID_QUIT ), EndMember,
EndObject,
EndMember,
EndObject,
EndObject;
/*
** Object created OK?
**/
if ( WO_Window ) {
/*
** try to open the window.
**/
if ( win = WindowOpen( WO_Window )) {
/*
** Obtain it's wait mask.
**/
GetAttr( WINDOW_SigMask, WO_Window, &signal );
/*
** Event loop...
**/
do {
Wait( signal );
/*
** Handle events.
**/
while (( rc = HandleEvent( WO_Window )) != WMHI_NOMORE ) {
/*
** Evaluate return code.
**/
switch ( rc ) {
case WMHI_CLOSEWINDOW:
case ID_QUIT:
running = FALSE;
break;
case ID_ABOUT:
Req( win, "OK", ISEQ_C "This is a demonstration of how to code\n"
"the standard (boring) system/gadtools/topaz/fixed size\n"
"look with BGUI....\nif you " ISEQ_B "really" ISEQ_N " want to ;)" );
break;
}
}
} while ( running );
}
DisposeObject( WO_Window );
} else
puts( "Could not create the window object" );
CloseLibrary( BGUIBase );
} else
puts( "Unable to open the bgui.library" );
return( 0 );
}
#ifdef _DCC
int wbmain( struct WBStartup *wbs )
{
return( main( 0, NULL ));
}
#endif
/*
* $Log: font.c,v $
* Revision 1.3 1994/08/03 11:35:21 jaba
* Switched from clib/ to proto/.
*
* Revision 1.2 1994/07/28 16:51:55 jaba
* Added a descriptive requester in an About menu item.
*
*/